/**
 * app.js入口模块
 * 职责：
 *    创建服务
 *    做一些服务相关的配置
 *       模板引擎
 *       body-parser解析表单post请求体
 *       提供静态资源服务
 *    挂载路由
 *    监听端口启动服务
 */

var express=require('express')
var fs=require('fs')
var router=require('./router.js')

var app=express()
var bodyParser=require('body-parser')  // body-parser是非常常用的一个express中间件,作用是对post请求的请求体进行解析
                                       //https://www.cnblogs.com/yangyabo/p/5401812.htmlNodejs之express第三方核心模块的中间件——body-parser

//开放文件
//在express中开放的资源就是一个API的事儿
//公开指定目录
//只要这样做了，就可以直接通过/public/xx 的访问public目录中的所有资源了
app.use('/node_modules/',express.static('./node_modules/'))
app.use('/public/',express.static('./public/'))

//安装express-art-template ,并且安装art-template
//指定.html使用的解析引擎(官方给出的是art)
// 配置使用art-template模板引擎
// 第一个参数，表示当渲染以 .art（.html）结尾的文件的时候，使用art-template模板引擎
// express-art-template专门用来在express中把art-temlpate整合到express中
// 虽然外面这里不需要加载express-art-template 但是也必须安装
// 原因就在于express-art-template依赖art-template
app.engine('html',require('express-art-template'))

 //配置模板引擎和body-parser一定要在app.use(router)挂载路由之前
 //配置body-parser中间件（插件，专门用来解析表单POST请求体）
 //parse application/x-www-form-urlencoded
 *app.use(bodyParser.urlencoded({extended:false}))
 //parse application/json
 *app.use(bodyParser.json())
 
//把路由容器挂载到app服务中
app.use(router)

 //调用router.js文件的方法并且传入参数(app)
//router(app)
app.listen(3000,function(){
    console.log('runing 3000...')
})